package mc0250;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class Main {
	public static void main(String[] args) throws IOException {
		//输入优化
	    BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
	    // 输入 n
	    String[] str = read.readLine().split(" ");
	    int k = Integer.parseInt(str[1]);
	    //初始化乘数为末尾k位
	    //使用大整数
	    String nStr = str[0].substring(str[0].length()-k);
	    BigInteger n =new BigInteger(nStr);
	    //末尾k位都是0的特殊处理
	    if(n.intValue() == 0) {
	    	System.out.println(1);
	    	return;
	    }
	    //初始化乘数
	    BigInteger mul = new BigInteger(n.toString());
	    //初始化答案
	    BigInteger ans = new BigInteger("1");
	    for(int i=0;i<k;i++) {
	    	//初始化临时变量
	    	BigInteger tmp = new BigInteger(n.toString());
	    	int j = 1;
	    	//flag为true表示没找到
	    	boolean flag = true;
	    	for(j=1;j<=10;j++) {
	    		//大整数乘法
	    		tmp = tmp.multiply(mul);
	    		//如果第i位相等（从大整数最低位开始计数）
	    		String tmpStr = tmp.toString();
	    		//判断对应位数是否相等，相等表示出现循环
	    		if(tmpStr.charAt(tmpStr.length()-i-1)==nStr.charAt(nStr.length()-i-1)) {
	    			//找到了第i位（从大整数最低位开始计数）的循环位置
	    			ans = ans.multiply(BigInteger.valueOf(j));
	    			flag = false;
	    			break;
	    		}
	    	}
	    	if(flag) {
	    		//没有循环部分
	    		System.out.println("-1");
	    		return;
	    	}
	    	//更新乘数
	    	mul = mul.pow(j);
	    } 
	    System.out.println(ans);
	}
}
